1. Technical Field
The present invention relates to address managing methods and communication apparatuses, and particularly to an address managing method of a communication address for a communication apparatus in a network, such as a home entertainment network, to which the communication apparatus establishes a one-way data connection and in which messages are transferred in two ways between communication apparatuses.
2. Background Art
Recently, home networks are being established for providing various contents having high image quality and high sound quality with users to enjoy by mutually connecting in-home digital appliances. For example, the HDMI (High-Definition Multimedia Interface), designed in December, 2002, is a digital audio-video input-output interface standard, for next-generation AV appliances, allowing a single cable to transmit video, audio, and control signals (See Non-patent reference 1, for example). The HDMI standard is accepted as a digital output format for the AV appliances, such as a DVD player and an STB, to provide a digital output to a digital TV. In addition, the HDMI standard stipulates the CEC (Consumer Electronics Control) which is a protocol for allowing a control signal to be transmitted in two ways. Utilization of the CEC protocol enables a single remote to control plural AV appliances, relaying the control signal by the appliances. In other words, an entire home theater system can be operated with the single remote by transmitting the control signal in two ways between a TV, an AV amplifier, and a DVD player.
A method for an address assignment for mutual acknowledgement between intra-network appliances in the CEC protocol shall be described hereinafter. Regarding appliance acknowledgement and connection configuration acknowledgement in the CEC protocol, first, a physical address is mapped, utilizing a DDC (Display Data Channel) bus for establishing a one-way data connection. The physical address is an identification number using a 16-bit number divided into four by 4 bits, and expressed in a row of four decimal numbers from 0 to 15, such as “0.0.0.0”. The DDC is a VESA (Video Electronics Standards Association) standard defined to be a function for transmitting display model information to a connection destination appliance in order to achieve plug and play on the display. The display model information is stored in RAM or rewritable nonvolatile memory as the EDID (Enhanced Extended Display Identification Data). When a read permission, that is a trigger validating the one-way data connection, is represented by a HPD (Hot Plug Detect Signal), the display model information is read out of the connection destination appliance via the DDC bus.
FIG. 1 is a diagram showing an example of a home network structure. A home network 1 includes a TV 10, an AV amplifier 20, and a DVD player 30. The home network 1 has a network structure connected in a tree-shaped star. A physical address is assigned to each of appliances, using the DDC bus.
The TV 10 includes one HDMI input port 10PI_1. The AV amplifier 20 includes one HDMI output port 20PO_1 and two HDMI input ports 20PI_1 and 20PI_2. The DVD player 30 includes one HDMI output port 30PO_1. The TV 10, the AV amplifier 20 and the DVD player 30 include associated EDID for respective HDMI input ports.
Here, the power of all the appliances is assumed to be on. Since having no HDMI output port, the TV 10 is deemed to be a root device, that is, an appliance having a physical address “0.0.0.0”.
Following the physical address assignment rule of the HDMI, the TV 10 sets a physical address to “1.0.0.0” (10PA_1) in the EDID for the HDMI input port 10PI_1. Then, the TV 10 shows an EDID read permission with the HPD. Here, the physical address “1.0.0.0” (10PA_1) is for an appliance connected to the HDMI input port 10PI_1.
With the permission shown in the HPD by the TV 10, the AV amplifier 20, having the HDMI output port 20PO_1 connected to the HDMI input port 10PI_1 of the TV 10, reads the EDID of the TV 10 and recognizes the fact that a physical address “1.0.0.0” (20PA_0) has been assigned.
The AV amplifier 20 sets: a physical address, connected to the HDMI input port 20PI_1, to “1.1.0.0” (20PA_1) in the EDID for the port; and a physical address, connected to the HDMI input port 20PI_2, to “1.2.0.0” (20PA_2) in the EDID for the port. The AV amplifier 20 shows the EDID read permission in the HPD to the HDMI input port 20PI_1 to which the DVD player 30 is connected.
With the permission shown in the HPD by the AV amplifier 20, the DVD player 30, having the HDMI output port 30PO_1 connected to the HDMI input port 20PI_1 of the AV amplifier 20, reads the EDID of the AV amplifier 20 and recognizes the fact that a physical address “1.1.0.0” (30PA_0) has been assigned.
As mentioned above, the physical addresses, reflecting a topology path for the connection for one-way data connection, are assigned to the intra-network appliances, and then, logical addresses for two-way communication between each of the appliances are mapped, using a CEC bus for a two-way connection. A logical address is an ID defining a category of an appliance. FIG. 2 shows a definition of the logical addresses defined by the CEC protocol.
Upon the respective above mentioned physical addresses assigned, the TV 10, the AV amplifier 20, and the DVD player 30 start obtaining associated logical addresses to categories of the appliances. The logical addresses are obtained by transmitting a <Polling Message>, one of CEC messages transmitted with a CEC control signal.
FIG. 3 is a diagram showing a structure of a frame in a CEC message. Having a basic frame structure, block, the CEC message is structured with one or more blocks. Each of a one-bit EOM field and a one-bit ACK field always exists per block, and is similarly used in any given block. Meanwhile, an 8-bit information field in the block is used differently, depending on a content of a message; however, the first block in the message is structured to be the header block.
FIG. 4 is a diagram showing a structure of a frame of the header block in the CEC message. The CEC message for the <Polling Message> is structured only with the header block. The header block includes a 4-bit initiator field (Field_1), a 4-bit destination field (Field_2), a 1-bit EOM field (Field_3), and a 1-bit ACK field (Field_4). A definition of each of the fields shall be described.
In the initiator field (Field_1), a logical address for a message source appliance is configured by the message source appliance. In the case of the <Polling Message>, the logical address of the appliance itself is not determined; however, a logical address value which the <Polling Message> source appliance intends to obtain is assigned
In the destination field (Field_2), a logical address for a message address appliance is configured by the message source appliance. Thus, in the case of the <Polling Message>, the logical address value which the <Polling Message> source appliance intends to obtain is set in order to poll whether or not an appropriate and responding appliance exists.
In the EOM field (Field_3), information whether or not an additional block to be transmitted succeeds is configured by the message source appliance. Another block follows in the case where the field represents 0. In the case where the field represents 1, no succeeding field follows. Thus, 1 is set in the case of the <Polling Message> since the message is structured only with the header block.
In the ACK field (Field_4), a response to the message is configured by the message address appliance. Here, the response includes whether or not the message address appliance matches with the address of the message and the message shall be denied. In the case where the value of the address is other than 15 (=Broadcast), 1 in the field represents that the message address appliance does not match with the address of the message, thus the message shall be denied, and 0 represents the fact that the message address appliance matches with the address of the message, thus the message shall be accepted. In the case where the value of the address is 15 (=Broadcast), 0 in the field represents that the message address appliance does not match with the address of the message, thus the message shall be denied, and 1 represents that the message address appliance matches with the address of the message, thus the message shall be accepted. In the case of the <Polling Message>, the logical address which the message source appliance intends to obtain is configured in the destination field. When the appliance in the network judges the logical address for the appliance for itself by reading the destination field, the appliance replies with matched and accepted (ACK=0). This enables the message source appliance to detect that an appliance, with the logical address, which the message source appliance intends to obtain already exists when ACK=0 returns. Here, each bit is relayed on a CEC control signal line connected between each of the appliances. The message source appliance sets the ACK bit to high (ACK=1) in an ACK bit. An inactive signal line, even in one of the appliances in the network from high (ACK=1) to low (ACK=0), sets to be matched and accepted (ACK=0).
FIG. 5 is a diagram showing one example of a state in which the CEC message is transmitted. In this state, the AV amplifier 20 transmits the <Polling Message> when obtaining “Audio System” (=5,0b0101) as a logical address. When the AV amplifier 20 transmits a 9-bit; namely, 0b010101011, all of the appliances, in the network, which receive the 9-bit message judge whether or not the CEC message is for themselves by reading the destination field. In the case where the appliance receives the CEC message before obtaining the logical address, the appliance responds with unmatched and denied (ACK=1). For example, in the case where the AV amplifier 20 tries to obtain the logical address before the DVD player 30 obtains the logical address, the DVD player 30 sets to a 1-bit ACK, that is, 0b1 representing a reply showing unmatched and denied. Further, when the appliance receives the CEC message after obtaining the logical address, in the case where the CEC message is not addressed to the appliance, the appliance responds with unmatched and denied (ACK=1). For example, in the case where the TV 10 receives the CEC message after obtaining the logical address, the logical address for the TV 10 is “TV” (=0,0b000), thus the response from the TV 10 is unmatched and denied. Thus, the TV 10 sets to the 1-bit ACK, that is, 0b1 representing the reply showing unmatched and denied.
The DVD player 30 also transmits the <Polling Message> for obtaining “DVD1” (=4,0b0100) as a logical address.
In the case where there are plural appliances associated with the same appliance category in the network, an appliance which has already obtained the same appliance category replies to another appliance which subsequently transmits the <Polling Message> with the matched and accepted (ACK=0) for the <Polling Message>. Here, the polling message requests for obtaining the same appliance category. The appliance receiving the matched and accepted (ACK=0) again; changes the logical address intended to be obtained for obtaining another logical address; and transmits the <Polling Message>. Since the main feature of the present does not involve the system, description of the details shall be omitted.
Thus, upon receiving both of the physical address and the logical address, a report notification showing an association of the physical address and the logical address is issued by each of the appliances, using the CEC bus for two-way connection. The report notification is realized, transmitting one of the CEC messages a <Report Physical Address>.
FIG. 6 is a diagram showing one example of a state in which the CEC message is transmitted, which shows a state that the AV amplifier 20 transmits the <Report Physical Address>.
A <Report Physical Address> message is a Broadcast message including the header block and four data blocks. Thus, the AV amplifier 20 transmits the header block in which “Audio System” (=5,0b0101) is configured in the initiator field and 15 (=Broadcast) is configured in the destination field. When the AV amplifier 20 transmits a 9-bit signal; namely, 0b010111110110, all of the appliances, in the network, which receive the 9-bit signal read the destination field, judge the signal to be the Broadcast message, and then, respond with the matched and accepted (ACK=1). Then, the AV amplifier 20 transmits the data blocks. The data blocks include the physical address of the AV amplifier 20 (“1.0.0.0”); however, the main feature of the present invention does not include the details of the message, thus the description shall be omitted. Since the physical address is included in the data blocks, an association between the logical address and the physical address in the initiator field is notified. Here, the TV 10 and the DVD player 30 set each block to the 1-bit ACK, that is, 0b1 representing a reply showing matched and accepted.
The DVD player 30 also sets, in the header block, to “DVD1” (=4,0b0100) in the initiator field and to 15 (=Broadcast) in the destination field, and transmits to the data blocks the <Report Physical Address> message including the physical address “1.1.0.0”.
Thus, upon receiving both of the physical address and the logical address for the appliance itself and reporting an association of the physical address and the logical address of the appliance itself to all the appliances in the network, each of the appliances establishes two-way communication to the associated logical addresses, using the CEC bus for connecting for two-way transmission and sometimes specifying an appliance with the physical address.
Non Patent Reference 1: High-Definition Multimedia Interface Specification Version 1.2.